<?php
include '../include/db.php';

// 首先加载redis组件
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$redis_name = 'miaosha';

$db = DB::getIntance();
$table = 'redis_queue';
// 死循环
while (true) {
    // 从队列最左侧取出一个值来
    $user = $redis->lPop($redis_name);
    // 然后判断这个值是否存在
    if (!$user || $user == 'nil'){
        sleep(2);
        continue;
    }
    // 切割出时间，uid
    $user_arr = explode('%', $user);
    $insert_data = [
        'uid'=>$user_arr[0],
        'time_stamp'=>$user_arr[1]
    ];
    // 保存到数据库中
    $res = $db->insert($table, $insert_data);
    // 数据库插入的失败的时候的回滚机制
    if ( ! $res) {
        $redis->rPush($redis_name, $user);
    }
    sleep(2);
}
// 释放一下redis
$redis->close();
